At present a computer virtualization technique by which one or more virtual computers (which may be referred to as virtual machines) are made to operate on a physical computer (which may be referred to as a physical machine) is utilized. The utilization of the virtualization technique makes it possible to make virtual machines of a plurality of users operate on one physical machine. At this time information processing by a user may be separated from information processing by another user in order to prevent interference. Furthermore, a resource, such as a CPU (Central Processing Unit) resource or a RAM (Random Access Memory) resource, included in a physical machine may be assigned flexibly to the plurality of users. Accordingly, the virtualization technique is frequently utilized in information processing systems, such as data centers, used by many users.
Control software (referred to as, for example, a hypervisor or a management OS (Operating System)) for controlling a plurality of virtual machines is executed on a physical machine. The control software assigns a resource included the physical machine to the plurality of virtual machines. A user OS is executed on each virtual machine. At this time the plurality of virtual machines are independent of one another. A user OS on each virtual machine manages a resource assigned by the control software and exercises control so that application software will be executed within the assigned resource.
In some information processing systems including a plurality of physical machines, a virtual machine can be moved from one physical machine to another (migration). A virtual machine may be moved without stopping it (live migration). A part of virtual machines which operate on a physical machine which is short of resources are moved to another physical machine. This may improve the processing speed of the moved virtual machines. A virtual machine management apparatus which predicts the amount of a future increase in resources used by each virtual machine and which determines a movement destination of each virtual machine so that virtual machines for which the predicted amounts of future increases are close to one another will be deployed on the same physical machine is proposed.
Japanese Laid-open Patent Publication No. 2011-198332
By the way, when a resource of a physical machine is assigned to virtual machines, the excess of the total of resource amounts assigned to the virtual machines over the amount of the resource of the physical machine may be allowed in order to improve efficiency in the use of the resource. This resource assignment method may be referred to as an “overcommit”. For example, a virtual machine the load on which tends to become heavier in one time zone (in the daytime, for example) and a virtual machine the load on which tends to become heavier in another time zone (in the nighttime, for example) are combined and are deployed on the same physical machine. A resource of the physical machine is then overcommitted for these two virtual machines. This reduces a resource amount unused in each time zone and improves efficiency in the use of the resource, compared with a case where the resource is not overcommitted for the two virtual machines.
However, if an overcommit is performed, a resource assigned to one virtual machine includes a portion (non-shared portion) which the virtual machine does not share with another virtual machine and a portion (shared portion) which the virtual machine shares with another virtual machine. There is no guarantee that the virtual machine can use the shared portion. Therefore, if the loads on two or more virtual machines on the same physical machine increase at the same time contrary to expectation, at least a part of the virtual machines cannot use all resources assigned thereto.
When a response from a virtual machine is very slow in an information processing system in which an overcommit is performed, it is desirable to examine the movement of the virtual machine to another physical machine. For example, if a user and an operator of the information processing system agree on a tolerable level of response time (period from the time when a request is received to the time when a response is returned, for example), then it is desirable to make response time shorter than or equal to the tolerable level.
However, if an overcommit is performed, it is not easy for conventional techniques regarding virtual machine management which are not premised on an overcommit to predict whether or not response time is improved by moving a virtual machine. There is a risk that a virtual machine will compete with another virtual machine for a shared portion of a resource assigned to the virtual machine. Accordingly, if response time is simply estimated on the basis of a resource amount assigned, a risk on the shared portion is not evaluated.